import {
  getClassifyList,
  getArticleListPage
} from '../../api/miniapp/index'

const app = getApp();

let pageIndex = 1;
let pageSize = 5;
let count = 0;
// pages/index/index.js
Page({

  /**
   * 页面的初始数据
   */
  data: {
    articleLoading: false,
    isArticleData: true, //是否还有更多文章数据
    classifyId: "0",
    classifyList: [], //分类数据列表
    articleList: [] //文章数据列表
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad(options) {
    this.getClassifyListMed();
    setTimeout(() => {
      this.getArticleListPageMed();
    }, 50);

  },
  /**
   * 根据key标识，获取分类列表
   * @param {*} key 
   */
  getClassifyListMed(key) {
    const that = this;
    getClassifyList(key).then(res => {
      console.log("获取分类列表：", res);
      // 小程序里面是通过setData进行赋值data里面的属性
      that.setData({
        classifyList: res.data
      })
      console.log("data属性中的classifyList值：", that.data.classifyList);
    }).catch(err => {
      console.log("获取分类列表出现错误！", err);
    })
  },
  /**
   * 获取分页文章数据列表
   */
  getArticleListPageMed() {
    const that = this;
    that.setData({
      articleLoading: true
    })
    let typeId = that.data.classifyId == "0" ? null : that.data.classifyId;
    getArticleListPage("", typeId, pageIndex, pageSize).then(res => {
      console.log("获取分页文章数据列表：", res);
      count = res.data.total;
      if (res.data && res.data.list.length > 0 && res.code == 200) {
        setTimeout(() => {
          let dataList = this.data.articleList;
          res.data.list.forEach(item => {
            dataList.push(item);
          });

          that.setData({
            articleList: dataList
          })


          that.setData({
            articleLoading: false
          })
        }, 500);

      } else {
        that.setData({
          articleLoading: false,
          isArticleData: false //没有更多数据了
        })
      }


    }).catch(err => {
      console.log("获取分页文章数据列表出现错误~", err);
    })
  },
  // 文章分类点击切换事件
  changeTabs(e) {
    console.log("点击文章分类：", e);
    pageIndex = 1;
    this.setData({
      articleList: [],
      isArticleData: true
    })
    //拿到分类id
    const classifyId = parseInt(e.detail.activeKey);
    this.setData({
      classifyId: classifyId
    })
    this.getArticleListPageMed();

  },
  // 文章列表滚动到底部时触发
  scrollBottom(e) {
    console.log("文章列表滚动到底部：", e);
    pageIndex++; //第2页
    this.getArticleListPageMed();

  },
  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady() {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow() {
    if (typeof this.getTabBar === "function" && this.getTabBar()) {
      this.getTabBar().setData({
        active: 0
      })
    }
  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide() {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload() {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh() {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom() {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage() {

  }
})